With microprocessors, 32-bit processors had been in the mainstream for a long time after development of a 68020 microprocessor by Motorola, Inc. in 1984. This is because 232B=4 GB, which can be designated with 32 bits, had been a sufficiently large address space over about twenty years. However, in recent years 64-bit processors, which make possible to handle a space over 4 GB, have been becoming popular in the field of PCs and servers owing to the increase in required memory capacity with the enhancement of system performance and the drop in the unit price of memories. Incidentally, it is noted that PC is an abbreviation for “personal computer”. Also, it is forecasted that embedded processors will shift to 64 bits several to ten years later as if they follow the climate of the field of PCs and servers.
Unlike processors for PCs and servers, which are required to put top priority on performance, embedded processors are required to achieve both high efficiency and high performance. Consequently, embedded processors of RISC (Reduced Instruction Set Computer) type which can achieve high code efficiencies and handle instruction sets with a fixed length of 16 bits have become widespread. High code efficiencies are vital to make effective use of on-chip caches, RAMs and ROMs even in the current situation that larger capacities of off-chip memories have been achieved. However, in order to arrange such processors so as to support 64 bits, it is essential to efficiently use an instruction code space with a fixed length of 16 bits.
The 32-bit processors' age continued for a long time. In Consequence, the basis of operations has been shifted to 32 bits, and it has become common practice to extend 8- or 16-bit data to 32 bits on a register of a processor before handling, or to deal with data in sets of four 8-bit data or two 16-bit data, i.e. in 32 bits. Also, 64-bit processors are required to support an operational system based on 32 bits like this in addition to a 64-bit operational system. On this account, with regard to existing 64-bit processors, both 32-bit and 64-bit operation instructions are defined for the same operation as required. In consequence, the number of operation instructions rises as to 64-bit processors, and code spaces required for defining the operation instructions also increase.